package com.ruoyi.act.service;

import com.ruoyi.act.domain.VO.DefinitionVO;
import com.ruoyi.common.core.domain.AjaxResult;

import java.io.InputStream;
import java.util.List;

/**
 * @author badcat
 * Date 2021/8/23
 * Time 11:13
 */
public interface ActProcessDefinitionService {

    /**
     * 根据string部署流程
     */
    public AjaxResult initDeploymentBPMN(String name, String stringBPMN, String key);

    /**
     * 删除部署流程
     */
    public AjaxResult delDeploymentBPMN(String id);

    /**
     * 获取所有最新版本的流程定义，按部署id排序
     * @return
     */
    public List<DefinitionVO> getDefinitions();

    /**
     * 读取流程资源
     * 可以用于获取流程的图片和xml
     * @param processDefinitionId 流程定义ID
     * @param resourceName        资源名称
     */
    public InputStream readResource(String processDefinitionId, String resourceName);
}
